package com.cl.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.lang.reflect.InvocationTargetException;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.beanutils.BeanUtils;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;


/**
 * 活动推广
 * 数据库通用操作实体类（普通增删改查）
 * @author 
 * @email 
 * @date 2025-03-19 16:07:08
 */
@TableName("event_promotion")
public class EventPromotionEntity<T> implements Serializable {
	private static final long serialVersionUID = 1L;


	public EventPromotionEntity() {
		
	}
	
	public EventPromotionEntity(T t) {
		try {
			BeanUtils.copyProperties(this, t);
		} catch (IllegalAccessException | InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 主键id
	 */
	@TableId(type = IdType.AUTO)
	private Long id;
	/**
	 * 活动名称
	 */
					
	private String activityName;
	
	/**
	 * 活动图片
	 */
					
	private String activityImage;
	
	/**
	 * 优惠前价格
	 */
					
	private Double priceBeforeDiscount;
	
	/**
	 * 优惠后价格
	 */
					
	private Double priceAfterDiscount;
	
	/**
	 * 开始时间
	 */
				
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat 		
	private Date startTime;
	
	/**
	 * 结束时间
	 */
				
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat 		
	private Date endTime;
	
	/**
	 * 活动地点
	 */
					
	private String activityLocation;
	
	/**
	 * 活动内容
	 */
					
	private String activityContent;
	
	/**
	 * 商家名称
	 */
					
	private String merchantName;
	
	/**
	 * 商家账号
	 */
					
	private String merchantAccount;
	

	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat
	private Date addtime;

	public Date getAddtime() {
		return addtime;
	}
	public void setAddtime(Date addtime) {
		this.addtime = addtime;
	}
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * 设置：活动名称
	 */
	public void setActivityName(String activityName) {
		this.activityName = activityName;
	}
	/**
	 * 获取：活动名称
	 */
	public String getActivityName() {
		return activityName;
	}
	/**
	 * 设置：活动图片
	 */
	public void setActivityImage(String activityImage) {
		this.activityImage = activityImage;
	}
	/**
	 * 获取：活动图片
	 */
	public String getActivityImage() {
		return activityImage;
	}
	/**
	 * 设置：优惠前价格
	 */
	public void setPriceBeforeDiscount(Double priceBeforeDiscount) {
		this.priceBeforeDiscount = priceBeforeDiscount;
	}
	/**
	 * 获取：优惠前价格
	 */
	public Double getPriceBeforeDiscount() {
		return priceBeforeDiscount;
	}
	/**
	 * 设置：优惠后价格
	 */
	public void setPriceAfterDiscount(Double priceAfterDiscount) {
		this.priceAfterDiscount = priceAfterDiscount;
	}
	/**
	 * 获取：优惠后价格
	 */
	public Double getPriceAfterDiscount() {
		return priceAfterDiscount;
	}
	/**
	 * 设置：开始时间
	 */
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	/**
	 * 获取：开始时间
	 */
	public Date getStartTime() {
		return startTime;
	}
	/**
	 * 设置：结束时间
	 */
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	/**
	 * 获取：结束时间
	 */
	public Date getEndTime() {
		return endTime;
	}
	/**
	 * 设置：活动地点
	 */
	public void setActivityLocation(String activityLocation) {
		this.activityLocation = activityLocation;
	}
	/**
	 * 获取：活动地点
	 */
	public String getActivityLocation() {
		return activityLocation;
	}
	/**
	 * 设置：活动内容
	 */
	public void setActivityContent(String activityContent) {
		this.activityContent = activityContent;
	}
	/**
	 * 获取：活动内容
	 */
	public String getActivityContent() {
		return activityContent;
	}
	/**
	 * 设置：商家名称
	 */
	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}
	/**
	 * 获取：商家名称
	 */
	public String getMerchantName() {
		return merchantName;
	}
	/**
	 * 设置：商家账号
	 */
	public void setMerchantAccount(String merchantAccount) {
		this.merchantAccount = merchantAccount;
	}
	/**
	 * 获取：商家账号
	 */
	public String getMerchantAccount() {
		return merchantAccount;
	}

}
